草庐IT

TypeScript 运算符

全部标签

javascript - 将不同的 this 作用域绑定(bind)到 ES6 => 函数运算符

在尝试使用ES6提供的=>特性继承上下文后,我注意到this上下文永远无法更改。示例:varotherContext={a:2};functionfoo(){this.a=1;this.bar=()=>this.a;}varinstance=newfoo;instance.bar();//returns1instance.bar.bind(otherContext)();//returns1没有=>运算符并使用function关键字:functionfoo(){this.a=1;this.bar=function(){returnthis.a;}}varinstance=newfoo;

javascript - TypeScript各种文件扩展名解释?

在尝试进一步了解TypeScript时,所有文件扩展名之间的关系是什么?typescript,*.ts定义,*.d.tsmap,*.mapJavaScript,*.js 最佳答案 我最初开始输入上面的问题时心里想,有人会过来帮助我。然后我注意到一个“回答你自己的问题”选项,我受到了JeffAtwood'sencouragingblogpost的启发。-所以我决定我应该尝试回答我自己的问题。我不得不做一些研究,但现在我有了最初想要的理解。typescript,*.ts“编译”为纯JavaScript的JavaScript类型化超集。这

javascript - 如何使用 || 的箭头函数运算符(operator)

使用Babel,我可以看到callback=()=>{};编译为callback=functioncallback(){};这是我所期望的。但是,当我尝试将它与||一起使用时出现错误callback=callback||()=>{}我希望它等同于callback=callback||function(){};为什么这是一个错误?另外,对于这种熟悉的语法,是否有更正确的ES6版本? 最佳答案 失败是因为语法无效。使用以下命令使其工作:callback=callback||(()=>{})如果您不以这种方式包装它,它将被解释为您键入以下

javascript - 为什么 TypeScript 将 .default 添加到全局定义的导入中?

我有一个外部库thing.d.ts文件,里面有一个全局定义:declarevarthing:ThingStatic;exportdefaultthing;我在我的TypeScript中引用了npm模块:importthingfrom'thing';...thing.functionOnThing();当我转译TS(针对ES6)时,它看起来像这样:constthing_1=require("thing");...thing_1.default.functionOnThing();这会抛出一个错误:Cannotreadproperty'functionOnThing'ofundefined

javascript - Typescript - null 和 undefined 之间有什么区别?

这个问题在这里已经有了答案:WhatisthedifferencebetweennullandundefinedinJavaScript?(38个答案)关闭5年前。我想知道typescript中null和undefined的区别。我知道在javascript中可以同时使用它们来检查变量是否没有值。但是在typescript中,我想知道确切的区别以及何时最好使用它们中的每一个。谢谢。

javascript - 获取对运算符后面的 JavaScript 函数对象的引用

这是一个lisp过程,它简单地将“a”加到“b”的绝对值上:(define(a-plus-abs-bab)((if(>b0)+-)ab))我认为这很漂亮,我正在尝试找到用JavaScript编写它的最佳方式。但是我的JavaScript代码并不漂亮:varplus=function(a,b){returna+b;};varminus=function(a,b){returna-b;};varaPlusAbsB=function(a,b){return(b>0?plus:minus)(a,b);}主要问题是我不能像使用lisp那样使用+和-符号作为对它们真正表示的函数的引用。谁能想出一种

javascript - 如果存在则使用值,否则使用 or 运算符分配默认值

我在一本书中找到了这个例子://Create_callbacksobject,unlessitalreadyexistsvarcalls=this._callbacks||(this._callbacks={});我简化了它,这样我就不必使用特殊的对象范围了:vara=b||(b="Hello!");当b被定义时,它就起作用了。当b未定义时,它不起作用并抛出ReferenceError。ReferenceError:bisnotdefined我做错了什么吗?谢谢! 最佳答案 当执行像this._callback这样的属性查找时,如果

javascript - Typescript 和 webstorm,缺少 --module 标志

在WebStorm中编辑在VisualStudio上创建的typescript项目时,会出现以下错误:Error:(1,1)TS1148:Cannotcompileexternalmodulesunlessthe'--module'flagisprovided.代码很简单:在文件Test.ts中classhelloWorld{}export=helloWorld;预先感谢您的帮助已编辑我忘了说我用的是MAC。同样在进入帖子后,在我寻求解决方案的过程中,我尝试在VisualStudioCodeforMac中编译网页,我在那里遇到了同样的问题,那个,让我意识到问题不是IDE,而是一些东西共

javascript - TypeScript 不提供函数名称

我有一些typescript代码,我正在做一些元编程,我需要能够访问instance.func.name,但是TypeScript在编译的JS中省略了函数名称。typescript:classClassName{//...func():ReturnType{//...}}编译的JavaScript://...ClassName.prototype.func=function(){//...};所需的JavaScript:ClassName.prototype.func=functionfunc(){//...^^^^};是否有我缺少的编译器选项,或者我可以在TypeScript中使用的

javascript - TypeScript:异步生成器

我想要一个这样的函数:exportasyncfunction*iterateDir(dir:string){letlist=awaitfs.readdir(dir);//fs-promiseimplementationofreaddirfor(letfileoflist){yieldfile;}}我会这样使用:for(letfileiniterateDir(dir)){processFile(file);}这行不通,因为一个函数不能既是异步函数又是生成器。我将如何构建代码来实现相同的目的?如果我将awaitfs.readdir更改为回调,我假设外部for..of循环不会等待。如果我去掉